﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AutomationTools.Procedimentos.Acao.Aguardar
{
    public class AguardarTempo : IProcedimento
    {
        int tempoMaximo;
        bool aleatorio = false;

        public AguardarTempo(int tempoExato)
        {
            this.tempoMaximo = tempoExato;
        }

        public AguardarTempo(int tempoMaximo, bool aleatorio)
        {
            this.tempoMaximo = tempoMaximo;
            this.aleatorio = aleatorio;
        }

        public object Executar(IContexto contexto)
        {
            int tempo = tempoMaximo;
            if (aleatorio)
            {
                tempo = new Random().Next(tempoMaximo);
            }

            System.Threading.Thread.Sleep(tempo);
            return contexto.Parametro;
        }

        public void ValidarEntrada(IContexto contexto)
        {
            throw new NotImplementedException();
        }
    }
}
